// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: invept 3809469200(%edx,%eax,4), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x84,0x82,0x10,0xe3,0x0f,0xe3]        
invept 3809469200(%edx,%eax,4), %eax 

// CHECK: invept 485498096, %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x05,0xf0,0x1c,0xf0,0x1c]        
invept 485498096, %eax 

// CHECK: invept 485498096(%edx,%eax,4), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x84,0x82,0xf0,0x1c,0xf0,0x1c]        
invept 485498096(%edx,%eax,4), %eax 

// CHECK: invept 485498096(%edx), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x82,0xf0,0x1c,0xf0,0x1c]        
invept 485498096(%edx), %eax 

// CHECK: invept 64(%edx,%eax), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x44,0x02,0x40]        
invept 64(%edx,%eax), %eax 

// CHECK: invept (%edx), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x80,0x02]        
invept (%edx), %eax 

// CHECK: invvpid 3809469200(%edx,%eax,4), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x84,0x82,0x10,0xe3,0x0f,0xe3]        
invvpid 3809469200(%edx,%eax,4), %eax 

// CHECK: invvpid 485498096, %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x05,0xf0,0x1c,0xf0,0x1c]        
invvpid 485498096, %eax 

// CHECK: invvpid 485498096(%edx,%eax,4), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x84,0x82,0xf0,0x1c,0xf0,0x1c]        
invvpid 485498096(%edx,%eax,4), %eax 

// CHECK: invvpid 485498096(%edx), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x82,0xf0,0x1c,0xf0,0x1c]        
invvpid 485498096(%edx), %eax 

// CHECK: invvpid 64(%edx,%eax), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x44,0x02,0x40]        
invvpid 64(%edx,%eax), %eax 

// CHECK: invvpid (%edx), %eax 
// CHECK: encoding: [0x66,0x0f,0x38,0x81,0x02]        
invvpid (%edx), %eax 

// CHECK: vmcall 
// CHECK: encoding: [0x0f,0x01,0xc1]          
vmcall 

// CHECK: vmclear -485498096(%edx,%eax,4) 
// CHECK: encoding: [0x66,0x0f,0xc7,0xb4,0x82,0x10,0xe3,0x0f,0xe3]         
vmclear -485498096(%edx,%eax,4) 

// CHECK: vmclear 485498096(%edx,%eax,4) 
// CHECK: encoding: [0x66,0x0f,0xc7,0xb4,0x82,0xf0,0x1c,0xf0,0x1c]         
vmclear 485498096(%edx,%eax,4) 

// CHECK: vmclear 485498096(%edx) 
// CHECK: encoding: [0x66,0x0f,0xc7,0xb2,0xf0,0x1c,0xf0,0x1c]         
vmclear 485498096(%edx) 

// CHECK: vmclear 485498096 
// CHECK: encoding: [0x66,0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0x1c]         
vmclear 485498096 

// CHECK: vmclear 64(%edx,%eax) 
// CHECK: encoding: [0x66,0x0f,0xc7,0x74,0x02,0x40]         
vmclear 64(%edx,%eax) 

// CHECK: vmclear (%edx) 
// CHECK: encoding: [0x66,0x0f,0xc7,0x32]         
vmclear (%edx) 

// CHECK: vmlaunch 
// CHECK: encoding: [0x0f,0x01,0xc2]          
vmlaunch 

// CHECK: vmptrld -485498096(%edx,%eax,4) 
// CHECK: encoding: [0x0f,0xc7,0xb4,0x82,0x10,0xe3,0x0f,0xe3]         
vmptrld -485498096(%edx,%eax,4) 

// CHECK: vmptrld 485498096(%edx,%eax,4) 
// CHECK: encoding: [0x0f,0xc7,0xb4,0x82,0xf0,0x1c,0xf0,0x1c]         
vmptrld 485498096(%edx,%eax,4) 

// CHECK: vmptrld 485498096(%edx) 
// CHECK: encoding: [0x0f,0xc7,0xb2,0xf0,0x1c,0xf0,0x1c]         
vmptrld 485498096(%edx) 

// CHECK: vmptrld 485498096 
// CHECK: encoding: [0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0x1c]         
vmptrld 485498096 

// CHECK: vmptrld 64(%edx,%eax) 
// CHECK: encoding: [0x0f,0xc7,0x74,0x02,0x40]         
vmptrld 64(%edx,%eax) 

// CHECK: vmptrld (%edx) 
// CHECK: encoding: [0x0f,0xc7,0x32]         
vmptrld (%edx) 

// CHECK: vmptrst -485498096(%edx,%eax,4) 
// CHECK: encoding: [0x0f,0xc7,0xbc,0x82,0x10,0xe3,0x0f,0xe3]         
vmptrst -485498096(%edx,%eax,4) 

// CHECK: vmptrst 485498096(%edx,%eax,4) 
// CHECK: encoding: [0x0f,0xc7,0xbc,0x82,0xf0,0x1c,0xf0,0x1c]         
vmptrst 485498096(%edx,%eax,4) 

// CHECK: vmptrst 485498096(%edx) 
// CHECK: encoding: [0x0f,0xc7,0xba,0xf0,0x1c,0xf0,0x1c]         
vmptrst 485498096(%edx) 

// CHECK: vmptrst 485498096 
// CHECK: encoding: [0x0f,0xc7,0x3d,0xf0,0x1c,0xf0,0x1c]         
vmptrst 485498096 

// CHECK: vmptrst 64(%edx,%eax) 
// CHECK: encoding: [0x0f,0xc7,0x7c,0x02,0x40]         
vmptrst 64(%edx,%eax) 

// CHECK: vmptrst (%edx) 
// CHECK: encoding: [0x0f,0xc7,0x3a]         
vmptrst (%edx) 

// CHECK: vmreadl %eax, 3809469200(%edx,%eax,4) 
// CHECK: encoding: [0x0f,0x78,0x84,0x82,0x10,0xe3,0x0f,0xe3]        
vmreadl %eax, 3809469200(%edx,%eax,4) 

// CHECK: vmreadl %eax, 485498096(%edx,%eax,4) 
// CHECK: encoding: [0x0f,0x78,0x84,0x82,0xf0,0x1c,0xf0,0x1c]        
vmreadl %eax, 485498096(%edx,%eax,4) 

// CHECK: vmreadl %eax, 485498096(%edx) 
// CHECK: encoding: [0x0f,0x78,0x82,0xf0,0x1c,0xf0,0x1c]        
vmreadl %eax, 485498096(%edx) 

// CHECK: vmreadl %eax, 485498096 
// CHECK: encoding: [0x0f,0x78,0x05,0xf0,0x1c,0xf0,0x1c]        
vmreadl %eax, 485498096 

// CHECK: vmreadl %eax, 64(%edx,%eax) 
// CHECK: encoding: [0x0f,0x78,0x44,0x02,0x40]        
vmreadl %eax, 64(%edx,%eax) 

// CHECK: vmreadl %eax, %eax 
// CHECK: encoding: [0x0f,0x78,0xc0]        
vmreadl %eax, %eax 

// CHECK: vmreadl %eax, (%edx) 
// CHECK: encoding: [0x0f,0x78,0x02]        
vmreadl %eax, (%edx) 

// CHECK: vmresume 
// CHECK: encoding: [0x0f,0x01,0xc3]          
vmresume 

// CHECK: vmwritel 3809469200(%edx,%eax,4), %eax 
// CHECK: encoding: [0x0f,0x79,0x84,0x82,0x10,0xe3,0x0f,0xe3]        
vmwritel 3809469200(%edx,%eax,4), %eax 

// CHECK: vmwritel 485498096, %eax 
// CHECK: encoding: [0x0f,0x79,0x05,0xf0,0x1c,0xf0,0x1c]        
vmwritel 485498096, %eax 

// CHECK: vmwritel 485498096(%edx,%eax,4), %eax 
// CHECK: encoding: [0x0f,0x79,0x84,0x82,0xf0,0x1c,0xf0,0x1c]        
vmwritel 485498096(%edx,%eax,4), %eax 

// CHECK: vmwritel 485498096(%edx), %eax 
// CHECK: encoding: [0x0f,0x79,0x82,0xf0,0x1c,0xf0,0x1c]        
vmwritel 485498096(%edx), %eax 

// CHECK: vmwritel 64(%edx,%eax), %eax 
// CHECK: encoding: [0x0f,0x79,0x44,0x02,0x40]        
vmwritel 64(%edx,%eax), %eax 

// CHECK: vmwritel %eax, %eax 
// CHECK: encoding: [0x0f,0x79,0xc0]        
vmwritel %eax, %eax 

// CHECK: vmwritel (%edx), %eax 
// CHECK: encoding: [0x0f,0x79,0x02]        
vmwritel (%edx), %eax 

// CHECK: vmxoff 
// CHECK: encoding: [0x0f,0x01,0xc4]          
vmxoff 

// CHECK: vmxon -485498096(%edx,%eax,4) 
// CHECK: encoding: [0xf3,0x0f,0xc7,0xb4,0x82,0x10,0xe3,0x0f,0xe3]         
vmxon -485498096(%edx,%eax,4) 

// CHECK: vmxon 485498096(%edx,%eax,4) 
// CHECK: encoding: [0xf3,0x0f,0xc7,0xb4,0x82,0xf0,0x1c,0xf0,0x1c]         
vmxon 485498096(%edx,%eax,4) 

// CHECK: vmxon 485498096(%edx) 
// CHECK: encoding: [0xf3,0x0f,0xc7,0xb2,0xf0,0x1c,0xf0,0x1c]         
vmxon 485498096(%edx) 

// CHECK: vmxon 485498096 
// CHECK: encoding: [0xf3,0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0         
vmxon 485498096 

// CHECK: vmxon 485498096 
// CHECK: encoding: [0xf3,0x0f,0xc7,0x35,0xf0,0x1c,0xf0,0x1c]         
vmxon 485498096 

// CHECK: vmxon 64(%edx,%eax) 
// CHECK: encoding: [0xf3,0x0f,0xc7,0x74,0x02,0x40]         
vmxon 64(%edx,%eax) 

// CHECK: vmxon (%edx) 
// CHECK: encoding: [0xf3,0x0f,0xc7,0x32]         
vmxon (%edx) 

